﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;

using Nemerle.Extensions;

namespace NRails.Dinner
{
	// Note: For instructions on enabling IIS6 or IIS7 classic mode, 
	// visit http://go.microsoft.com/?LinkId=9394801

	public class MvcApplication : System.Web.HttpApplication
	{
		public static RegisterRoutes(routes : RouteCollection) : void
		{
			routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

			_ = routes.MapRoute(
				"PrettyDetails",
				"{Id}",
				new ( controller = "Dinners", action = "Details"),
				new ( Id = @"\d+" )
			);

			_ = routes.MapRoute(
				"UpcomingDinners",
				"Dinners/Page/{page}",
				new ( controller = "Dinners", action = "Index" )
			);

			_ = routes.MapRoute(
				"Default", // Route name
				"{controller}/{action}/{id}", // URL with parameters
				new ( controller = "Home", action = "Index", id = UrlParameter.Optional ) // Parameter defaults
			);

		}

		protected Application_Start() : void
		{
			AreaRegistration.RegisterAllAreas();

			RegisterRoutes(RouteTable.Routes);
            MvcInit.Init();
		}
	}
}
